Checkpoints can be used to preserve the state of a server in detail, enabling users, service personnel, or other servers to capture a snapshot of what the server was doing at that instant of time. In the event of server failure, the preserved state can be used to resume server operations from the point in time of the last checkpoint on an alternate or backup server. As the server continues to run, new checkpoints are captured to help minimize the loss of processed data. If these new snapshots can be captured sufficiently fast, applications running on the server may continue to run unimpaired without any loss of data, of calculated results, or of transactions, in spite of the transition or failover to a backup server. Service processors are servers in their own right, but with the specialized purpose of supporting other servers. Service processors often need to rapidly respond to conditions that surface in the servers they are supporting. This rapid response time requirement has made it difficult to design service processors, where in the event of failure of the primary, the backup can transparently take over. Checkpoint designs for server processors often require sophisticated techniques to preserver the state of individual processes, state changes, and data changes, which can be highly complex and error prone to craft and maintain.